Automated geo-target and geo-hazard notifications for drilling systems

ABSTRACT

A drilling management system can monitor the traversed path of a drill bit throughout active drilling at a drilling site and notify appropriate team members regarding a current status of the active drilling in real-time. For example, the drilling management system can notify team members when predetermined milestones have been met, when the drill bit is drifting off course from a target wellbore trajectory from a target horizon or target zone, or when the drill bit is in danger of running into a geo-hazard, such as a pre-existing wellbore, unpierced fault plane, lease boundary, etc. The drilling management system can maintain a depth model of the drilling site that identifies the target wellbore trajectory, a target zone based on one or more horizons from the depth model, and coordinates of known geo-hazards at the drilling sites. The drilling management system can also maintain a set of rules for each of the drilling sites that indicates when team members should be notified.

CROSS-REFERENCE TO RELATED APPLICATIONS

The present application claims priority under 35 U.S.C. §119(e) toprovisional application No. 62/250,256 titled “Shared Visualization withAutomated Depth Model Based Notifications for Drilling Systems Utilizing3D Seismic Data,” filed on Nov. 3, 2015, and claims priority under 35U.S.C. §119(e) to provisional application No. 62/376,256 titled“Automated Geo-Target and Geo-Hazard Notifications for DrillingSystems,” filed on Aug. 17, 2016, which are hereby incorporated byreference herein.

TECHNICAL FIELD

The present technology pertains to drilling systems, and morespecifically pertains to automated geo-target and geo-hazardnotifications for drilling systems.

BACKGROUND

An oil company asset team must work to together to ensure the efficientdrilling and completion of an oil and gas well. During the years 2005through 2016, the drilling of horizontal wells in shale formationsbecame a very important new regime of operations for the oil industry.This new regime requires a “factory floor” mindset whereby activitiesbecome repetitive and must be repeatable in order to ensure optimaloutcomes from an economic perspective.

In order to drill a successful horizontal well, a cross-functional team(a.k.a. “asset team”) comprised of engineers, geoscientists, regulatory,financial specialists, managers, and third party service providers, suchas the drilling contractor and mud-logger, must work together. The assetteam must collaborate to plan the well, execute the drilling plan, avoidgeo-hazards, and stay on an optimal drilling track and on the drillingplan. This is challenging since the drilling target geologic horizonwill typically be 2 miles underground and located in a remote fieldarea.

An increasingly important tool for improving the success of thesehorizontal shale drilling projects is 3-dimensional seismic data (3Dseismic). Many oil and gas companies will acquire a 3D seismic surveythat is an image of the subsurface region within which they intend todrill. This seismic survey will be calibrated to existing well controland converted into depth (meaning the z-axis of the seismic volume willreadout in depth below the surface). The target horizon (and potentiallyadditional reference horizons) along which the horizontal well will bedrilled is identified within the seismic volume, along with potentialhazards, which primarily will be geologic faults that intersect thetarget horizon, but which will also include preexisting wellbores withinthe vicinity. In addition, mineral lease ownership information could beincluded in the depth model. Also, the depth model typically includes aplanned drilling wellbore trajectory. This information is collectivelyreferred to as the “Depth Model.”

As the drilling of the well proceeds, the location of the drill bitusing measurement while drilling (MWD) information can be transmitted ona periodic (15 minute or other interval), real-time basis to the oilcompany. Not uncommonly, an asset team member (typically a geoscientist)will be assigned to manually update a set of project information on anat least a once daily basis and generate a report—the project containsthe seismic volume, the depth model including geo-hazards, and the pathof the well being drilled. This report is then distributed manually tothe other asset team members to help the asset team work together.Regardless, the process is labor intensive, not typically real-time, theinformation is difficult to distribute and coordinate particularly fromremote locations where team members are remote from the drillingoperations, among numerous other challenges and deficiencies.

SUMMARY

Additional features and advantages of the disclosure will be set forthin the description which follows, and in part will be obvious from thedescription, or can be learned by practice of the herein disclosedprinciples. The features and advantages of the disclosure can berealized and obtained by means of the instruments and combinationsparticularly pointed out in the appended claims. These and otherfeatures of the disclosure will become more fully apparent from thefollowing description and appended claims, or can be learned by thepractice of the principles set forth herein.

Disclosed are systems, methods, and non-transitory computer-readablestorage media for automated geo-target and geo-hazard notifications fordrilling systems. A drilling management system can monitor the traversedpath of a drill bit throughout active drilling at a drilling site andnotify appropriate team members regarding a current status of the activedrilling in real-time. For example, the drilling management system cannotify team members when predetermined milestones have been met, whenthe drill bit is drifting off course from a target wellbore trajectoryor target horizon, or deviating from a zone when the drill bit is indanger of running into a geo-hazard, such as a pre-existing wellbore,unpierced fault plane, lease boundary, etc. The drilling managementsystem can maintain a depth model of the drilling site that identifiesthe target wellbore trajectory and coordinates of known geo-hazards atthe drilling sites. The drilling management system can also maintain aset of rules for each of the drilling sites that indicates when teammembers should be notified.

While an active drilling is in progress at a drilling site, the drillingmanagement system can receive a drilling data stream from the drillingsite that includes coordinate data describing a traversed path of adrill bit. The drilling management system can determine, based on thecoordinate data and the depth model of the drilling site, whether a rulehas been triggered indicating that one or more team members should benotified regarding the status of the active drilling. In response todetermining that the rule has been triggered, the drilling managementsystem can identify a set of team members that should be notified, andtransmit a notification to the team members that the rule has beentriggered.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-recited and other advantages and features of the disclosurewill become apparent by reference to specific embodiments thereof whichare illustrated in the appended drawings. Understanding that thesedrawings depict only exemplary embodiments of the disclosure and are nottherefore to be considered to be limiting of its scope, the principlesherein are described and explained with additional specificity anddetail through the use of the accompanying drawings in which:

FIG. 1 illustrates an exemplary system for automated geo-target andgeo-hazard notifications for drilling systems;

FIG. 2 illustrates an exemplary system embodiment of a drillingmanagement system;

FIG. 3 illustrates an example method of automated geo-target andgeo-hazard notifications for drilling systems; and

FIGS. 4A-4D illustrate exemplary visualizations of an active drill; and

FIGS. 5A and 5B illustrate exemplary possible system embodiments.

DESCRIPTION

Various embodiments of the disclosure are discussed in detail below.While specific implementations are discussed, it should be understoodthat this is done for illustration purposes only. A person skilled inthe relevant art will recognize that other components and configurationsmay be used without parting from the spirit and scope of the disclosure.

The disclosed technology addresses the need in the art for automatedgeo-target and geo-hazard notifications for drilling systems. A drillingmanagement system can monitor the traversed path of a drill bitthroughout active drilling at a drilling site and notify appropriateteam members regarding a status of active drilling, and the currentstatus may be configured to be monitored in real-time. As used herein,the term real-time recognizes that there are various steps andoperations that occur prior to the system receiving information aboutthe location of the drill bit and progression of the wellbore, and thesystem may be configured to monitor the system based on the most currentdrill bit information and may be configured to provide notifications onsome schedule. For example, some time may pass between transmission ofdrill bit information from the well to the system and hence the termreal-time recognizes some time may pass between when the drill bitreaches some location and when the system obtains the information as tothe current location of the drill bit, and hence the term real-timecaptures near real-time values (e.g., while drilling and within 10minutes of the drill bit reaching some point in the drilling operation).With respect to notification, for example, the drilling managementsystem can notify team members when predetermined milestones have beenmet, when the drill bit is drifting off course from a target wellboretrajectory and/or target horizon, or when the drill bit is in danger ofrunning into a geo-hazard, such as a pre-existing wellbore, unpiercedfault plane, lease boundary, etc. The drilling management system canmaintain a depth model of the drilling site that identifies the targetwellbore trajectory and coordinates of known geo-hazards at the drillingsites. The drilling management system can also maintain a set of rulesfor each of the drilling sites that indicate when team members should benotified. The information may be processed and notifications transmittedin real-time.

While an active drill is in progress at a drilling site, the drillingmanagement system can receive a drilling data stream (e.g., a stream ofdata generated from MWD data captured from an MWD tool) from thedrilling site that includes coordinate data describing a traversed pathof a drill bit. The drilling management system can determine, based onthe coordinate data and the depth model of the drilling site, whether arule has been triggered indicating that one or more team members shouldbe notified regarding the status of the active drill. In response todetermining that the rule has been triggered, the drilling managementsystem can identify a set of team members that should be notified, andtransmit a notification to the team members that the rule has beentriggered.

FIG. 1 illustrates an exemplary system for automated geo-target andgeo-hazard notifications for drilling systems. As illustrated, multiplecomputing devices can be connected to a communication network 104 and beconfigured to communicate with each other through use of thecommunication network 104. The communication network 104 can be any typeof network, including a local area network (“LAN”), such as an intranet,a wide area network (“WAN”), such as the Internet, or any combinationthereof. Further, the communication network 104 can be a public network,a private network, or a combination thereof. The communication network104 can also be implemented using any number of communication linksassociated with one or more service providers, including one or morewired communication links, one or more wireless communication links, orany combination thereof, and may support the transmission of dataformatted using any number of protocols, as well as different protocolsas data traverses the various paths between devices.

A computing device, which may be involved in obtaining and transmittingdrilling information, the drilling management system, and the clientdevices, can be any type of general computing device capable of networkcommunication with other computing devices. For example, a computingdevice can be a personal computing device such as a desktop orworkstation, a business server, or a portable computing device, such asa laptop, smart phone, or a tablet PC. A computing device can includesome or all of the features, components, and peripherals of computingdevice 500 of FIGS. 5A and 5B.

To facilitate communication with other computing devices, a computingdevice can also include a communication interface configured to receivea communication, such as a request, data, etc., from another computingdevice in network communication with the computing device and pass thecommunication along to an appropriate module running on the computingdevice. The communication interface can also be configured to send acommunication to another computing device in network communication withthe computing device.

As shown, the overall system 100 includes a drilling management system102, drilling sites 106 ₁, 106 ₂, . . . , 106 _(n) (collectively “106”),and more particularly computing devices at the sites, and client devices108 ₁, 108 ₂, . . . , 108 _(n) (collectively “108”). The drillingmanagement system 102 can be comprised of one or more computing devicesconfigured to monitor the traversed path of a drill bit throughoutactive drilling at any drilling sites 106, through receiving drillinginformation, and communicate with various client devices 108 to notifyassociated team members regarding the status of active drilling at thedrilling sites 106 in real-time.

The drilling sites 106 can be physical drilling sites equipped withdrilling machinery, and accompanying sensors and computing devices, suchas an MWD component associated with a drill bit, configured to gatherdrilling data describing the status of an active drilling operation at adrilling site 106. For example, the drilling data, in the form of MWDdata, may be delivered in the form of sets of Azimuth (inclination fromNorth), Inclination (dip in degrees), and MD (measured length alongwellbore). The data may be converted to X, Y, Z axis values using anyindustry standard conversion. The conversion may occur prior to thedrilling data being transmitted (e.g., the drilling stream) to thedrilling management system. Hence, the drilling data can includecoordinate data, such as an X axis value, Y axis value and Z axis value,describing the location of a drill bit as the drill traverses throughthe ground during the active drill. Systems at the drilling sites 106can gather and transmit this drilling data to drilling management system102 as part of a drilling data stream. For example, drilling sites 106can gather and transmit drilling data to drilling management system 102every 10 seconds, 30 second, 1 minute, 5 minutes, etc. In one specificexample, MWD drill bit positional data is collected by an MWD toolassociated with the drill string and typically positioned behind thedrill bit. As introduced above, the MWD tool measures azimuth,inclination, and length along the well drilling string in real-time. Thetool transmits the data to the surface using “mud pulses”—digital pulsessent through drilling fluid, in the wellbore, to the surface where thepulses are encoded with positional data as well as other information. Atransducer at the surface converts these pulses back into digitalinformation on a network on the drilling rig. The MWD data may be thenbe translated to X,Y,Z values at a local computing device andtransmitted, such as form a private web server at the drilling site, tothe drilling management system using the WITSML protocol.

In addition to coordinate data describing the location of a drill bit,drilling data can also include additional data describing an activedrill. For example, the drilling data can include identifying data, suchas a unique identifier identifying the originating drilling site 106,identifiers of equipment used for drilling, such as the drill bit,sensors, computing devices, etc. The drilling data can also include timestamp values indicating the time at which coordinate values for anactive drill were recorded. Drilling data can also include other sensorreadings or data gathered during the active drill, such as sensorreadings describing traversed soil densities, drill bit pressures, drillbit performance, etc. The drilling data may also include logging whiledrilling (LWD) data including gamma ray log information. The log recordsthe intensity of naturally occurring gamma radiation from rock.

The drilling management system 102 can receive drilling data streamsfrom one or more of the drilling sites 106 and analyze the drilling datato determine whether team members associated with the active drillshould be notified regarding the status of the active drill. Forexample, the drilling management system 102 can notify team members whenpredetermined milestones have been met, when the drill bit is driftingoff course from a target wellbore trajectory or when the drill bit is indanger of running into a geo-hazard, such as a pre-existing wellbore,unpierced fault plane, lease boundary, etc.

To accomplish this, the drilling management system 102 can access adepth model for the area being drilled at each drilling site 106. Thedepth model may identify the target wellbore trajectory for the drillingsite 106, coordinates of known geo-hazards, target horizons, and otherfeatures. Generally speaking, the depth model is derived from theseismic data for the area to be drilled at the drilling site. Typically,seismic interpretation programs are used to digitize X, Y, Z coordinatedata for a set of seismic data. The digitized coordinates may furtherrepresent and constitute 3D dimensional surfaces associated with theseismic data. Likewise, features identified within the seismic data maybe digitized into unique three dimensional surfaces to form part of thedepth model. For example, geologic faults, hazards, target horizons orboundaries and the like may be digitized into three dimensional surfacesrepresentative of the respective features.

Each data type (the seismic data and the derived horizon and faultsurfaces) and the well data (the MWD and LWD information) has its ownelevation datum). To align the various data sets used for comparisonpurposes and to trigger notifications, and the like, the elevation datummay be reconciled if necessary. For example, if the seismic data used togenerate the seismic cube has a datum elevation of 5200 ft above sealevel, and the drilling data has a datum elevation of 5250 feet abovesea level, the depths between the two sets of data can be reconciled byadding 50 ft to the seismic data. The depth model may be based onseismic data for the area being drilled, and may be arranged in a cubewith x (e.g., inline), y (e.g., crossline) and/or z (e.g., time ordepth) aspects of the cube.

The drilling management system 102 can also maintain a set of rules foreach drilling site 106 that indicates when team members for the drillingsite 106 should be notified regarding the status of the active drill.For example, the rules can identify milestones that, when met, should bereported to specified team members. As another example, the rules canidentify threshold distances from the target wellbore trajectory, thetarget horizons, and/or geo-hazards that, when met or exceeded, arereported to a specified team member or members. The drilling managementsystem 102 can use the drilling data received from a drilling site 106,along with the corresponding depth model and set of rules, to determinewhen a rule has been triggered and team members should be notifiedregarding the status of the active drilling operation.

The drilling management system 102 can notify team members via clientdevices 108. Client devices 108 can be any type of computing devices,such as a smart phones, laptop computers, desktop computers, tablets,etc. Drilling management system 102 can maintain records of clientdevices 108 associated with team members, including contact informationto reach team members via one or more of client devices 108. In responseto determining that a team member should be notified, drillingmanagement system 102 can identify the team members contact informationand transmit a notification to the user, which can be received by theuser at one or more of client devices 108. For example, drillingmanagement system 102 can transmit the notification as an e-mail, textmessage, phone call, instant message, etc.

Drilling management system 102 can also provide team members with avisualization of an active drill. For example, drilling managementsystem 102 may use techniques such as those described in U.S. Pat. No.9,182,913 titled “Apparatus, System an Method for the Efficient Storageand Retrieval of 3-Dimesionally Organized Data in Cloud Based ComputingArchitectures,” which is hereby incorporated by reference, to amongother things, store, access, and view 3D seismic data and depth modelswithin a cloud architecture utilizing a web browser or other client sideapplication. The method disclosed in the '913 patent also provides forthe efficient access to the depth model over network connections.

Team members can use client devices 108 to communicate with drillingmanagement system 102 to request a visualization of an active drill. Inresponse, drilling management system 102 can transmit visualization datato the team member's client device 108. The visualization data can berendered by client device 108, for example in a web browser or otherclient-side application, to present the user with a visualization of anactive drill. This can include a 2 or 3 dimensional rendering of thedrilling site including a visual representation of the traversed path ofthe drill bit, the target wellbore trajectory, target horizon, andgeo-hazard, such as a pre-existing wellbores, unpierced fault planes,lease boundaries, etc.

FIG. 2 illustrates an exemplary system embodiment of a drillingmanagement system 102. FIG. 2 is described in view of the system andcomponents described in FIG. 1. As shown, the drilling management system102 includes a data stream receiving module 202, a rule analysis module204, a notification module 206, a data visualization module 208, a datastream storage 210, a depth model storage 212 and a rules storage 214.The various modules may involve a processor (or processors) and computerexecutable instructions to receive the data stream, apply one or morerules to the data stream, and provide notifications as needed. Thestorage may be provided by one or more tangible readable media, providedas a database or databases, where data from the data stream is stored,the depth model is stored, and rules are stored.

The data stream receiving module 202 receives drilling data streams fromone or more drilling sites 106. A drilling data stream can includedrilling data describing an active drill. In one possible example, thedata stream is accessed from a server or other computing device at therespective well and may be formatted according to the WellsiteInformation Transfer Standard Markup Language (WITSML) standard. Thedata stream may be received at the drilling management system and/or thedata stream storage over the network 104. The data stream receivingmodule 202 can receive and store the received drilling data in the datastream storage 210. The data stream storage 210 can include a datastream index for one or more of the drilling sites 106. The drillingindex can be a data index, data file, database, data table, etc., thatincludes a listing of drilling data received from a particular drillingsite 106. For example, a drilling index can include a listing ofcoordinate data describing the location of a drill bit at the drillingsite 106, as well as time stamp data, identifying data, etc. As adrilling operation procedure, the data stream will provide updated dataas to the progress of the drilling operation and the current location ofthe drill bit. Accordingly, the drilling index for a drilling site 106can include data documenting the traversed path of the drill bit at thedrilling site 106, as well as other sensor data and metadata describingdrilling at the drilling site 106.

Each drilling index can be associated with a unique identifieridentifying the corresponding originating drilling site 106. The datastream receiving module 202 can identify the unique identifier includedin a received drilling data stream to identify the correspondingdrilling index in data stream storage 210 and record the receiveddrilling data in the identified drilling index.

The rule analysis module 204 is configured to analyze received drillingdata to determine whether to notify team members regarding the status ofan active drill. For example, the rule analysis module 204 can utilizethe drilling data along with a depth model and a set of rulescorresponding to a drilling site 106 to determine whether a rule hasbeen triggered and team members should be notified.

The depth model storage 212 can store depth models for drilling sites106 and rule storage 214 can store sets of rules for the drilling sites106—with rules being unique and/or common to each drilling site. Eachdepth model and set of rules can be associated with a unique identifierfor its corresponding drilling site 106. The rule analysis module 204utilizes the unique identifier for a drilling site 106 to gather thecorresponding drilling index, depth model and set of rules from datastream storage 210, depth model storage 212 and rule storage 214,respectively.

The rule analysis module 204 can then use the gathered data to determinewhether a rule has been triggered. Moreover, the rule analysis module204 can determine whether a rule has been triggered according to apredetermined temporal schedule, such as every 5 seconds, 10 seconds, 1minute, etc. The rule analysis module 204 can also determine whether arule has been triggered as updated coordinate data (e.g., relative drillbit location data) is received from a drilling site 106 as part of adrilling data stream.

The set of rules for a drilling site 106 can include any number or typeof rules and/or conditions for notifying team members. For example, aset of rules may include a simple temporal milestone rule dictating thatteam members be notified of the status of an active drill at specifiedtime intervals, such as every 30 seconds, 1 minute, 5 minutes, etc., oraccording to a specified time schedule. In one example, a user interfacemay be accessed through a client device 108, where the user interfaceprovides access to a set of preconfigured rules. The user interface mayinclude fields to activate any given rule as well as to set variablesfor any given rule. The update time, for example, may be a rule variableset through the user interface. The rule analysis module 204 can monitorelapsed time during an active drill for each specified temporalmilestone.

As another example, a set of rules can include a distance basedmilestone rule dictating that team members be notified as the drill bitreaches predetermined distance intervals (a variable settable throughthe user interface), such as every 10 feet, 20 feet, 100 feet etc., oraccording to a specified distance schedule. The rule analysis module 204can utilize the location data stored in the drilling index to determinethe current location of a drill bit as well as the distance traversed bythe drill bit during the active drill and determine whether the rule hasbeen triggered.

As another example, a set of rules can include a trajectory deviationrule dictating that team members be notified when the current locationof the drill bit deviates beyond a predetermined threshold distance fromthe target wellbore trajectory and/or the target horizon for the drillbit. Rule analysis module 204 can utilize the location data stored inthe drilling index to determine the current location of a drill bit andutilize the depth model to determine the target wellbore trajectoryand/or the target horizon. Rule analysis module 204 can then determinethe distance between the current location of the drill bit and thetarget wellbore trajectory and/or target horizon and compare thedistance to a threshold distance to determine whether the rule has beentriggered.

With respect to comparing the actual drill bit location to the drillingplan, a distance is computed between a point in three-dimensional space(the X, Y, Z coordinate for the current location of the drill bit) andthe drilling plan, which may be represented by a polyline in threedimensional space (series of points through the 3D space of the depthmodel). The distance may be resolved into a z-component and anxy-component, which may be defined in the depth model or separatetherefrom. In that regard, the system can determine the location of thedrill bit relative to plan and provide any suitable notification—e.g.,“at 5:30 p.m., the drill bit is 15 feet above the drilling plan, and 10feet North of the drilling plan”.

As another example, a set of rules can include a trajectory deviationrule dictating that team members be notified when an angle of the drillbit relative to the target horizon exceeds a threshold angle deviationfrom the target horizon. Rule analysis module 204 can utilize thelocation data stored in the drilling index to determine a direction(e.g., vector direction) of the drill bit and use the target horizonfrom the depth model. Rule analysis module 204 can then determine anangle deviation of the drill bit from the target horizon and compare theangle deviation to the threshold angle deviation to determine whetherthe rule has been triggered.

As another example, a set of rules can include a minimum distance ruleto a geo-hazard, such as a pre-existing wellbore, unpierced fault planeor lease boundary. Rule analysis module 204 can utilize the locationdata stored in the drilling index to determine the current location of adrill bit and utilize the depth model to determine the location of ageo-hazard. Rule analysis module 204 can then determine the distancebetween the current location of the drill bit and the geo-hazard andcompare the distance to a threshold distance to determine whether therule has been triggered. In this example, the computed X, Y, Z positionof the drill bit (current and the previous values, which trace out theactual wellbore path) are compared to the location of a fault surface.The fault surface is stored as a triangulated surface in the same X, Y,Z coordinate system as the coordinates of the path of the drill bit.Computational geometry is used to compute the distance between a pointin 3D space (e.g., the most recent position of the drill bit) and asurface in 3D space along a direction vector (the direction that thedrill bit is heading). The distance is expressed in standard distanceunits (meters). So, if a threshold distance has been set for proximityto fault surfaces (such as 50 meters, which may be a variable), whenthat distance is less than or equal to 50, a notification is generated.

With respect to the intersection of the drill bit with a geohazard ofsome sort, the planned wellbore (a polyline in 3D space) indicatesapproximately where the wellbore is going to be, and the actual wellboreindicates the real-time (near real-time position) of the drill bit andwhere the drill bit has been. The path of the drill bit and the currentlocation of the drill, which collectively represents the wellbore, maybe represented as a three-dimensional polyline starting at the surfacewhere drilling commences and extending to a point represented by thecurrent location of the drill bit. In one example, any fault surfacethat intersects the planned wellbore may be considered a “geohazard”.For any such fault surface, the system can compute the distance to thegeohazard by computing the distance from the current drill bit positionto the intersection of the planned wellbore with that fault surface.Furthermore, the system can estimate the time of the intersectionoccurring by dividing the distance by the current rate of penetration ofthe drilling (expressed by convention as Feet or Meters per Hour), whichmay be received by the system with the drilling information provided bythe MWD system.

Rule analysis module 204 can determined the distance between the currentlocation of the drill bit and another location based on geographiccoordinates associated with the two points, such as an X coordinatevalue, Y coordinate value and Z coordinate value assigned to drill bitand the other point. In instances where an object is associated withmultiple geographic coordinates, such as a target wellbore trajectory,lease boundary, pre-existing wellbore, etc., rule analysis module 204can determine the shortest distance between the current location of thedrill bit and the other location.

In another example, the rule analysis module may compare the currentdrill bit position to a target horizon or target horizons. The ruleanalysis module may also compare the drill bit to a range of distancesfrom a target horizon, or may generate a virtual horizon and compare thelocation of the drill bit to the virtual horizon. In one example, thedepth model may include at least one target horizon. The target horizon,may be a surface comprised of X, Y and Z coordinate data. The targethorizon may be associated with the top surface, bottom surface or someother surface associated with a formation identified in the seismic datacube from which the depth model is based. For example, a shale bearingformation may be identified in a seismic data set, and a target horizonmay be generated and stored for a surface representing the top surfaceof the formation.

Continuing with the example of a shale formation and a horizon defininga surface in the depth model for the top of the formation, duringdrilling, it may be desired to drill a horizontal well within somedistance from the top of the formation. Hence, a rule may be created tocompare the current drill bit position with a target horizon, andgenerate some form of notification when the drill bit deviates somedistance, defined in the rule, from the top of the formation (the targethorizon).

In another example, it is possible to define a second horizon, such asrelated to the bottom of the shale formation, and define a rule thatprovides a notification when the drill bit comes within some targetdistance of either the top or the bottom of the formation. Hence,assuming the drilling plan is intended to maintain the wellbore withinthe formation (between the upper and lower surface), the rule will betriggered if the drill comes within some distance of either the top orbottom surface. Hence, the system may generate rules based on somerelationship between the drill bit and/or path of drilling, and a zone.The zone may be considered a region within a 3D dimensional volume,based on (computed from) one or more horizons (actual or virtual) in orassociated with the depth model. Target zones have areal extent (ashorizons do), but also have thickness. When a horizontal well isdrilled, the drilling team will attempt to define a wellbore path thathaving penetrated down to a target zone, which will often be a thicknessof a formation, stays within the target zone for the lateral portion ofthat wellbore path. The system provides a mechanism to define a ruleassociated with the target zone and provide notifications based on theprogress of drilling within the defined zone.

Thus, the system, through the rule module or otherwise, may also beused, such as through the user interface, to generate and base a rulebased on the notion of a target zone. The target zone, generallyspeaking, is a bounded zone within which it is desired to maintain thedrill bit. In one example, the target zone may reference a targethorizon and some distance or distances from the target horizon, in theway introduced above. One simple example of a target zone would be atarget horizon and the target horizon plus or minus some amount.Referring again to the notion of a shale formation, a target horizon maybe defined for a top surface of the shale formation, and a drilling planmay be target a zone immediately below the top surface of the horizonand within the shale formation. Hence, the target zone may be bounded bythe target horizon and 20 feet below the target horizon, representing atarget zone of the upper 20 feet of the shale formation. In anotherexample, a target zone may be both above and below a target horizon. Arule may be established to generate a notification when the drill bitcomes within some distance of either the top or bottom of the definedzone. Similarly, a rule may be established when a vector computation ofthe wellbore progress indicates that the drill bit is deviating upwardlyor downwardly within the zone in a way that would cause the wellbore toleave the target zone.

In another example, when there are adjacent formations, it is possibleto create a virtual horizon representing some relationship betweentarget horizons associated with each formation. For example, if there isan upper and a lower shale formation, that are stacked and adjacent oneanother, with each formation defined by a target horizon for the uppersurface of the respective horizons, a virtual horizon might reference arelationship between the target horizon of each formation and a range ofdistances (above and below) the virtual horizon. In this way, a targetzone based on the virtual horizon may be defined.

In yet another example, the system (e.g., the rule module) may generatea virtual horizon. In one example, the virtual horizon may be a surfacedefined as some set distance from another surface, such as a virtualhorizon defined relative to a target horizon in the depth model. Therule may both generate the virtual horizon, and be defined to generate anotification based on the distance of the drill bit from the virtualhorizon. In this example, the target horizon is a surface within thedepth model, where the surface is based on some corresponding feature inthe related seismic data, and the virtual surface is a surface that isgenerated based on some mathematical relationship to the target horizon.A virtual surface may be useful, for example, when the resolution of theseismic data is insufficient to identify sub features within aformation, but it is believed, based on perhaps other information, thatit is useful to target or avoid the sub feature and a virtual surface isgenerated for the sub feature, and the rule then based on the subfeature.

The target zone region may be further refined by analysis of the 3Dseismic data sample values that fall within the target zone. An analysismay determine that some sub-regions within the target zone should behigh-graded, and some sub-regions should be avoided. For example, onecomputation of the seismic sample values yields numeric values (aso-called “seismic attribute values”) that are indicative of rockstiffness, which gives an indication of how well the rock in asub-region will respond the hydraulic fracturing process. Now thatseismic attribute values can be portioned into ranges. For example, ifall of the values are normalized into a range of 0 to 100, and the range0-30 is classified as undesirable, and the range 70 to 100 is classifiedas very desirable, and the pixel values of the seismic attribute valuesare colored as Red as undesirable, and Green as desirable, andTransparent for anything else, now a seismic cross-section through thetarget zone will reveal red areas to be avoided and green areas to behigh-graded. The boundaries of these sub-regions can be detected andconverted into closed surfaces, and rules based on such surfaces, thatare in the same X,Y,Z coordinates as our depth model of the target zoneor other features, and as such, can be added to and be considered aspart of the definition of the target zone or otherwise be defined as afeature from which the drill bit location and trajectory of the wellbore may be compared, and rules generated to trigger notifications basedon the relationship of the drill or well bore to such features.

The notification module 206 is configured to notify team members when arule has been triggered. Rule analysis module 204 can provide to thenotification module 206, when a rule has been triggered, the dataidentifying the triggered rule. In one example, the user interface mayinclude a function for team member contact information is entered. Thecontact information may include a phone number for an SMS message, anemail address, or other information for the form of communication. Theteam members and contact information may be linked to the drilling site,and whenever a rule is triggered for the drilling site, the teamreceives a message over the form (or forms) of communication entered inthe site.

In response to receiving a notification from the rule analysis module204 that a rule has been triggered, notification module 206 can identifya set of team members that should be notified. In some embodiments, eachrule can identify the corresponding team members that should be notifiedwhen the rule has been triggered as well as include contact informationfor the identified team members, preferred contact method for the teammembers and/or data that should be provided to the team members.Notification module 206 can use the data in the triggered rule togenerate and transmit notification messages to the team members. Forexample, notification module 204 can transmit the notification messagesas text messages, instant messages, e-mails, etc.

Data visualization module 208 can be configured to provide team memberswith a visualization of an active drill. The visualization of the activedrill can be a 2 or 3 dimensional rendering of the active drill at adrill site 106, including a visual representation of the traversed pathof the drill bit, the target wellbore trajectory, target horizon, andgeo-hazard, such as a pre-existing wellbores, unpierced fault planes,lease boundaries, etc.

Data visualization module 208 can receive data visualization requestsfrom client devices 108 for a visualization of an active drill. A datavisualization request can include data identifying a drilling site 106,such as the unique identifier for the drilling site 106. Datavisualization module 208 can use the unique identifier included in thevisualization request to identify and gather the corresponding drillingindex in data stream storage 210 and depth module in depth model storage212. Data visualization module 208 can use the gathered data to generatevisualization data that can be rendered by client devices 108 to presentthe visualization of the active drill. Data visualization module 208 canprovide the generated visualization data to the requesting client device108, where it can be rendered for the team member. Data visualizationmodule 208 can continue to provide updated visualization data to clientdevice 108 to update the visualization of the active drill, therebyallowing the team member to view progress of the active drill inreal-time.

FIG. 3 illustrates an example method 300 of automated geo-target andgeo-hazard notifications for drilling systems. It should be understoodthat there can be additional, fewer, or alternative steps performed insimilar or alternative orders, or in parallel, within the scope of thevarious embodiments unless otherwise stated.

At step 302, a drilling management system can receive a first drillingdata stream. The first drilling data stream can include coordinate datadescribing a traversed path of a drill while drilling a well at a firstdrilling site. For example, the coordinate data can include an X axisvalue, a Y axis value and a Z axis value of the drill. The Z axis valuecan indicate a depth of the drill.

At step 304, the drilling management system can determine, based on thecoordinate data and a depth model of the first drilling site, that afirst rule has been triggered. The depth model of the first drillingsite can identify a target wellbore trajectory for the drill at thefirst drilling site. For example, the drilling management system candetermine, based on the coordinate data, a current location of the drilland a distance between the current location of the drill and the targetwellbore trajectory. The drilling management system can then determinethat the distance between the current location and the target wellboretrajectory meets or exceeds a threshold distance dictated by the firstrule.

At step 306, the drilling management system can identify at least afirst user that should be identified when the first rule has beentriggered. For example, the first rule can include data identifying theat least a first user that should be identified when the first rule hasbeen triggered.

At step 308, the drilling management system can transmit a notificationto the first user that the first rule has been triggered.

FIGS. 4A-4D illustrate exemplary visualizations of an active drill alongwith various possible information used by the rule module to generate anotification. The visualization of the active drilling operationdepicted in FIG. 4A presents a 3 dimensional representation of a drillsite 400 (e.g., 3D seismic volume) including a target horizon 402 andseismic cross-section 404. The intersection of the target horizon andthe seismic cross-section represents a target wellbore trajectory 406 ofthe drill bit. The current location of the drill bit 408 (as obtainedfrom the drill stream data) as well as the traversed path 410 of thedrill bit (e.g., wellbore path) is presented relative to the 3d seismicvolume, thereby allowing a team member to visually determine whether thedrill bit is remaining on the target wellbore trajectory.

FIG. 4B shows another visualization of an active drill. As show by thedrill bit path 410, the drill bit 408 has drifted away from the targetwellbore trajectory 406. In this example, a target zone is also shown,which is bounded by the target horizon and defined, within a rule, as adistance d above the target horizon and a distance d′ below the targethorizon. In this example, besides deviation from the well boretrajectory, a rule may also be triggered when the drill comes withinsome distance of the upper or lower surface of the zone or otherrelationship to the zone is defined. As mentioned above, the system mayprovide the visualization through a web browser. Within the browser, analert (a form of notification) may be posted and a visual cue 412provided in the viewable seismic cube. For example, a deviation alert inthe form of a text box may pop up in the browser window, and a colorcoded portion of the actual drill path relative to the target trajectoryhighlighted in some form such as a different color relative to thenon-deviated portion of the drill path.

FIG. 4C shows another visualization of an active drill. As shown, thelocation of a pre-existing wellbore 414 is presented in addition to thetraversed path 410 of the drill bit 408 and the target wellboretrajectory 406. Additionally, a minimum threshold distance that thedrill must maintain from the pre-existing wellbore is represented as acylinder 416 surrounding the pre-existing wellbore. The cylinder may berepresented in the depth model as a three dimensional surface derivedfrom a radius, of whatever distance needed, around the preexistingwellbore. For example, a cylindrical x, y, z surface may be generatedaround the wellbore based on a 50 foot radius. Hence, an alert will betriggered when the current drill bit position intersects any data pointof the cylinder defined by the 50 foot radius (e.g., the drill bit getswithin 50 feet of a preexisting wellbore). A team member can view thisvisualization and easily determine that the drill bit has drifted awayfrom the target wellbore trajectory and is approaching the minimumthreshold distance from the pre-existing wellbore.

FIG. 4D shows another visualization of an active drill. As shown, thelocation of a geologic fault surface 418 is show in relation to thetraversed path 410 of the drill bit. A team member can view thisvisualization and easily determine that the drill bit is nearing thegeographical fault surface, and a rule may trigger an alert or othernotification where the drill bit 408 reaches some distance from thefault. In this example, the geo-hazard 418 may also be color coded foreasy differentiation relative to other features.

FIG. 5A, and FIG. 5B illustrate exemplary possible system embodiments.The more appropriate embodiment will be apparent to those of ordinaryskill in the art when practicing the present technology. Persons ofordinary skill in the art will also readily appreciate that other systemembodiments are possible.

FIG. 5A illustrates a system bus computing system architecture 500wherein the components of the system are in electrical communicationwith each other using a bus 505. Exemplary system 500 includes aprocessing unit (CPU or processor) 510 and a system bus 505 that couplesvarious system components including the system memory 515, such as readonly memory (ROM) 520 and random access memory (RAM) 525, to theprocessor 510. The system 500 can include a cache of high-speed memoryconnected directly with, in close proximity to, or integrated as part ofthe processor 510. The system 500 can copy data from the memory 515and/or the storage device 530 to the cache 512 for quick access by theprocessor 510. In this way, the cache can provide a performance boostthat avoids processor 510 delays while waiting for data. These and othermodules can control or be configured to control the processor 510 toperform various actions. Other system memory 515 may be available foruse as well. The memory 515 can include multiple different types ofmemory with different performance characteristics. The processor 510 caninclude any general purpose processor and a hardware module or softwaremodule, such as module 1 532, module 2 534, and module 3 536 stored instorage device 530, configured to control the processor 510 as well as aspecial-purpose processor where software instructions are incorporatedinto the actual processor design. The processor 510 may essentially be acompletely self-contained computing system, containing multiple cores orprocessors, a bus, memory controller, cache, etc. A multi-core processormay be symmetric or asymmetric.

To enable user interaction with the computing device 500, an inputdevice 545 can represent any number of input mechanisms, such as amicrophone for speech, a touch-sensitive screen for gesture or graphicalinput, keyboard, mouse, motion input, speech and so forth. An outputdevice 535 can also be one or more of a number of output mechanismsknown to those of skill in the art. In some instances, multimodalsystems can enable a user to provide multiple types of input tocommunicate with the computing device 500. The communications interface540 can generally govern and manage the user input and system output.There is no restriction on operating on any particular hardwarearrangement and therefore the basic features here may easily besubstituted for improved hardware or firmware arrangements as they aredeveloped.

Storage device 530 is a non-volatile memory and can be a hard disk orother types of computer readable media which can store data that areaccessible by a computer, such as magnetic cassettes, flash memorycards, solid state memory devices, digital versatile disks, cartridges,random access memories (RAMs) 525, read only memory (ROM) 520, andhybrids thereof.

The storage device 530 can include software modules 532, 534, 536 forcontrolling the processor 510. Other hardware or software modules arecontemplated. The storage device 530 can be connected to the system bus505. In one aspect, a hardware module that performs a particularfunction can include the software component stored in acomputer-readable medium in connection with the necessary hardwarecomponents, such as the processor 510, bus 505, display 535, and soforth, to carry out the function.

FIG. 5B illustrates a computer system 550 having a chipset architecturethat can be used in executing the described method and generating anddisplaying a graphical user interface (GUI). Computer system 550 is anexample of computer hardware, software, and firmware that can be used toimplement the disclosed technology. System 550 can include a processor555, representative of any number of physically and/or logicallydistinct resources capable of executing software, firmware, and hardwareconfigured to perform identified computations. Processor 555 cancommunicate with a chipset 560 that can control input to and output fromprocessor 555. In this example, chipset 560 outputs information tooutput 565, such as a display, and can read and write information tostorage device 570, which can include magnetic media, and solid statemedia, for example. Chipset 560 can also read data from and write datato RAM 575. A bridge 580 for interfacing with a variety of userinterface components 585 can be provided for interfacing with chipset560. Such user interface components 585 can include a keyboard, amicrophone, touch detection and processing circuitry, a pointing device,such as a mouse, and so on. In general, inputs to system 550 can comefrom any of a variety of sources, machine generated and/or humangenerated.

Chipset 560 can also interface with one or more communication interfaces590 that can have different physical interfaces. Such communicationinterfaces can include interfaces for wired and wireless local areanetworks, for broadband wireless networks, as well as personal areanetworks. Some applications of the methods for generating, displaying,and using the GUI disclosed herein can include receiving ordereddatasets over the physical interface or be generated by the machineitself by processor 555 analyzing data stored in storage 570 or 575.Further, the machine can receive inputs from a user via user interfacecomponents 585 and execute appropriate functions, such as browsingfunctions by interpreting these inputs using processor 555.

It can be appreciated that exemplary systems 500 and 550 can have morethan one processor 510 or be part of a group or cluster of computingdevices networked together to provide greater processing capability.

For clarity of explanation, in some instances the present technology maybe presented as including individual functional blocks includingfunctional blocks comprising devices, device components, steps orroutines in a method embodied in software, or combinations of hardwareand software.

In some embodiments the computer-readable storage devices, mediums, andmemories can include a cable or wireless signal containing a bit streamand the like. However, when mentioned, non-transitory computer-readablestorage media expressly exclude media such as energy, carrier signals,electromagnetic waves, and signals per se.

Methods according to the above-described examples can be implementedusing computer-executable instructions that are stored or otherwiseavailable from computer readable media. Such instructions can comprise,for example, instructions and data which cause or otherwise configure ageneral purpose computer, special purpose computer, or special purposeprocessing device to perform a certain function or group of functions.Portions of computer resources used can be accessible over a network.The computer executable instructions may be, for example, binaries,intermediate format instructions such as assembly language, firmware, orsource code. Examples of computer-readable media that may be used tostore instructions, information used, and/or information created duringmethods according to described examples include magnetic or opticaldisks, flash memory, USB devices provided with non-volatile memory,networked storage devices, and so on.

Devices implementing methods according to these disclosures can comprisehardware, firmware and/or software, and can take any of a variety ofform factors. Typical examples of such form factors include laptops,smart phones, small form factor personal computers, personal digitalassistants, and so on. Functionality described herein also can beembodied in peripherals or add-in cards. Such functionality can also beimplemented on a circuit board among different chips or differentprocesses executing in a single device, by way of further example.

The instructions, media for conveying such instructions, computingresources for executing them, and other structures for supporting suchcomputing resources are means for providing the functions described inthese disclosures.

Although a variety of examples and other information was used to explainaspects within the scope of the appended claims, no limitation of theclaims should be implied based on particular features or arrangements insuch examples, as one of ordinary skill would be able to use theseexamples to derive a wide variety of implementations. Further andalthough some subject matter may have been described in languagespecific to examples of structural features and/or method steps, it isto be understood that the subject matter defined in the appended claimsis not necessarily limited to these described features or acts. Forexample, such functionality can be distributed differently or performedin components other than those identified herein. Rather, the describedfeatures and steps are disclosed as examples of components of systemsand methods within the scope of the appended claims.

1. A method comprising: receiving, by a drilling management device, a first drilling data stream, the first drilling data stream including coordinate data describing a traversed path of a drill bit while drilling a well at a first drilling site; determining, based on the coordinate data and a depth model of the first drilling site, that a first rule has been triggered, wherein the depth model of the first drilling site identifies a feature associated with the first rule; and transmitting a notification to a first user that the first rule has been triggered.
 2. The method of claim 1, wherein determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill bit; determining a distance between the current location of the drill bit and the feature; and determining that the distance between the current location of the drill bit and the feature meets a threshold distance defined by the first rule.
 3. The method of claim 1 wherein the feature is a least one of a target wellbore and a target horizon.
 4. The method of claim 3, wherein determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current vector direction of the drill bit; determining, an angle deviation between the current vector direction of the drill bit and the target wellbore defined by the depth model; and determining that the angle deviation between the current vector direction of the drill bit and the target wellbore meets a threshold angle deviation dictated by the first rule.
 5. The method of claim 1, wherein the feature is a preexisting wellbore, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill; determining, a distance between the current location of the drill and the preexisting wellbore defined by the depth model; and determining that the distance between the current location of the drill and the preexisting wellbore meets a threshold distance dictated by the first rule.
 6. The method of claim 1, wherein the feature is an unpierced fault plane, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill; determining, a distance between the current location of the drill to the unpierced fault plane defined by the depth model; and determining that the distance between the current location of the drill and the unpierced fault plane meets a threshold distance dictated by the first rule.
 7. The method of claim 1, wherein the feature is a lease boundary, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill; determining, a distance between the current location of the drill to the lease boundary defined by the depth model; and determining that the distance between the current location of the drill and the lease boundary meets or is less than a minimum threshold distance dictated by the first rule.
 8. The method of claim 1, wherein determining that the first rule has been triggered comprises: determining, based on the traversed path of the drill, that a drilling milestone has been met.
 9. The method of claim 1 wherein the coordinate data includes an X axis value, a Y axis value and a Z axis value of the drill, the Z axis value indicating a depth of the drill.
 10. The method of claim 1, wherein the feature is a target zone based on a first horizon and a second horizon in the depth model, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill bit; determining, a distance between the current location of the drill bit to the first horizon or the second horizon; and determining that the distance between the current location of the drill and the first horizon or the second horizon meets a threshold distance dictated by the first rule.
 11. The method of claim 1, wherein the feature is a target horizon and the method further comprising generating a target zone defining at least one surface a distance from the target horizon, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill; determining, a distance between the current location of the drill to the at least one surface; and determining that the distance between the current location of the drill and the at least one surface meets at least a first threshold distance dictated by the first rule.
 12. A drilling management system comprising: one or more computer processors; and memory storing instructions that, when executed by the one or more computer processors, cause the one or more processors to: determine, based on coordinate data from a first drilling data stream describing a traversed path of a drill bit while drilling a well at a first drilling site and a depth model of the first drilling site, that a first rule has been triggered, wherein the depth model of the first drilling site identifies a feature; transmit a notification to a device associated with a first user that the first rule has been triggered.
 13. The drilling management system of claim 12, wherein the feature is a target wellbore trajectory, and wherein to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill bit; determine a distance between the current location of the drill bit and the target wellbore trajectory; and determine that the distance between the current location of the drill bit and the target wellbore trajectory meets at least a first threshold distance dictated by the first rule.
 14. The drilling management system of claim 12, wherein the feature is a target wellbore trajectory, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current vector direction of the drill bit; determine, an angle deviation between the current vector direction of the drill bit and the target wellbore trajectory defined by the depth model; and determine that the angle deviation between the current vector direction of the drill bit and the target wellbore trajectory meets or exceeds a threshold angle deviation dictated by the first rule.
 15. The drilling management system of claim 12, wherein the feature is a preexisting wellbore, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill and the preexisting wellbore defined by the depth model; and determine that the distance between the current location of the drill and the preexisting wellbore meets or is less than a minimum threshold distance dictated by the first rule.
 16. The drilling management system of claim 12 wherein the feature is an unpierced fault plane, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the unpierced fault plane defined by the depth model; and determine that the distance between the current location of the drill and the unpierced fault plane meets a threshold distance dictated by the first rule.
 17. The drilling management system of claim 12, wherein the feature is a lease boundary, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the lease boundary defined by the depth model; and determine that the distance between the current location of the drill and the lease boundary meets or is less than a minimum threshold distance dictated by the first rule.
 18. The drilling management system of claim 12, wherein to determine that the first rule has been triggered comprises: determine, based on the traversed path of the drill, that a drilling milestone has been met.
 19. The drilling management system of claim 12, wherein the coordinate data includes an X axis value, a Y axis value and a Z axis value of the drill, the Z axis value indicating a depth of the drill.
 20. The drilling management system of claim 12, wherein the feature is a target zone with a first horizon and a second horizon, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the first horizon or the second horizon; and determine that the distance between the current location of the drill and the first horizon or the second horizon meets a threshold distance dictated by the first rule.
 21. The drilling management system of claim 12, wherein the feature is a target horizon and the one or more processors further generate a target zone defining at least one surface a distance from the target horizon, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the at least one surface; and determine that the distance between the current location of the drill and the at least one surface meets at least a first threshold distance dictated by the first rule.
 22. The drilling management system of claim 12, wherein the feature is at least of a target horizon or a target wellbore, and determining that the first rule has been triggered comprises: determining, based on the coordinate data, a current location of the drill; determining, a distance between the current location of the drill to the target wellbore or the target horizon; and determining that the distance between the current location of the drill and the target wellbore or the target horizon meets a threshold distance dictated by the first rule.
 23. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to: receive a first drilling data stream, the first drilling data stream including coordinate data describing a traversed path of a drill bit while drilling a well at a first drilling site; determine, based on the coordinate data and a depth model of the first drilling site, that a first rule has been triggered, wherein the depth model of the first drilling site identifies a feature; identify at least a first user that should be identified when the first rule has been triggered; and transmit a notification to the first user that the first rule has been triggered.
 24. The non-transitory computer-readable medium of claim 23, wherein the feature is a target wellbore and, determining that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill bit; determine a distance between the current location of the drill bit and the target wellbore; and determine that the distance between the current location of the drill bit and the target wellbore meets a threshold distance dictated by the first rule.
 25. The non-transitory computer-readable medium of claim 23, wherein the feature is a target wellbore trajectory, and to determine that the first rule has been triggered comprises: determine, based on the coordinate data, a current vector direction of the drill bit; determine, an angle deviation between the current vector direction of the drill bit and the target wellbore trajectory defined by the depth model; and determine that the angle deviation between the current vector direction of the drill bit and the target wellbore trajectory meets or exceeds a threshold angle deviation dictated by the first rule.
 26. The non-transitory computer-readable medium of claim 23, where the feature is a preexisting wellbore, and wherein determining that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill and the preexisting wellbore defined by the depth model; and determine that the distance between the current location of the drill and the preexisting wellbore meets or is less than a minimum threshold distance dictated by the first rule.
 27. The non-transitory computer-readable medium of claim 23, wherein the feature is an unpierced fault plane, and determining that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the unpierced fault plane defined by the depth model; and determine that the distance between the current location of the drill and the unpierced fault plane meets or is a threshold distance dictated by the first rule.
 28. The non-transitory computer-readable medium of claim 23, wherein the feature is a lease boundary, and determining that the first rule has been triggered comprises: determine, based on the coordinate data, a current location of the drill; determine, a distance between the current location of the drill to the lease boundary defined by the depth model; and determine that the distance between the current location of the drill and the lease boundary meets a threshold distance dictated by the first rule.
 29. The non-transitory computer-readable medium of claim 23, wherein determining that the first rule has been triggered comprises: determine, based on the traversed path of the drill, that a drilling milestone has been met.
 30. The non-transitory computer-readable medium of claim 23, wherein the coordinate data includes an X axis value, a Y axis value and a Z axis value of the drill, the Z axis value indicating a depth of the drill. 